#!/bin/sh

set -ex

SRC_PATH=$(cd `dirname $0`;pwd)
BUILD_DIR=${SRC_PATH}/build
FAST_DDS_OUT=${SRC_PATH}/install

BUILD_TYPE=$1

##################################################################################
# 编译选项: 1 linux, 2 交叉编译,需要配置文件                                           #
# -eq 等于                                                                        #
# -ne 不等于                                                                      #
# -gt 大于                                                                        #
# -ge 大于等于                                                                     #
# -lt 小于                                                                        #
# -le 小于等于                                                                     #
# -e filename 如果 filename存在，则为真                                             #
# -d filename 如果 filename为目录，则为真                                           #
# -f filename 如果 filename为常规文件，则为真                                        #
# -L filename 如果 filename为符号链接，则为真                                        #
# -r filename 如果 filename可读，则为真                                             #
# -w filename 如果 filename可写，则为真                                             #
# -x filename 如果 filename可执行，则为真                                            #
# -s filename 如果文件长度不为0，则为真                                               #
# -h filename 如果文件是软链接，则为真                                                #
# filename1 -nt filename2 如果 filename1比 filename2新，则为真。                     #
# filename1 -ot filename2 如果 filename1比 filename2旧，则为真。                     #
##################################################################################
set_toolchain_file()
{
if [ "zu2" = "${BUILD_TYPE}" ];then
  TOOLCHAIN_FILE=${SRC_PATH}/toolchain.cmake # 配置文件路径
  echo "build type is zu2 ${TOOLCHAIN_FILE}"
  FAST_DDS_OUTPATH=${FAST_DDS_OUT}/zu2
  if [ ! -d ${FAST_DDS_OUT}/zu2 ]; then
      ./thirdparty/build.sh ${FAST_DDS_OUT} ${TOOLCHAIN_FILE}
  fi

else
  TOOLCHAIN_FILE=
  FAST_DDS_OUTPATH=${FAST_DDS_OUT}/linux
  if [ ! -d ${FAST_DDS_OUT}/linux ]; then
      ./thirdparty/build.sh ${FAST_DDS_OUT}
  fi
fi
}

main()
{
  set_toolchain_file
  cmake -B${BUILD_DIR} -H${SRC_PATH} -DCMAKE_TOOLCHAIN_FILE=${TOOLCHAIN_FILE} -DDDS_PATH=${FAST_DDS_OUTPATH}

  cd ${BUILD_DIR}
  make -j 6

  rm -rf ${BUILD_DIR}
}

main @
echo "==== Build Success ===="

